System and method for location-based content delivery and visualization

ABSTRACT

A system and method for providing location information on a social network, including: sending, to a social mapping system, a request for one or more social media posts, wherein the request includes screen attribute information about a display of a client device, geographic location information, and an identification of a requesting account of the social network; receiving, in response to the request, a suggested group for display by the client device; and displaying, by the client device, the suggested group.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of copending U.S. patent applicationSer. No. 16/841,629, “SYSTEM AND METHOD FOR LOCATION-BASED CONTENTDELIVERY AND VISUALIZATION”, filed Apr. 6, 2020, the entire disclosureof which is incorporated by reference herein, in its entirety, for allpurposes.

U.S. patent application Ser. No. 16/841,629 is a continuation ofcopending U.S. patent application Ser. No. 16/164,624, “SYSTEM ANDMETHOD FOR LOCATION-BASED CONTENT DELIVERY AND VISUALIZATION”, filedOct. 18, 2018, the entire disclosure of which is incorporated byreference herein, in its entirety, for all purposes.

U.S. patent application Ser. No. 16/164,624 claims the benefit of U.S.Provisional Patent Application Ser. No. 62/574,199, “SYSTEM AND METHODFOR LOCATION-BASED CONTENT DELIVERY AND VISUALIZATION”, filed Oct. 18,2017, the entire disclosure of which is incorporated by referenceherein, in its entirety, for all purposes.

U.S. patent application Ser. No. 16/841,629 is a continuation-in-part ofcopending U.S. patent application Ser. No. 15/189,691, “REAL TIMEGEO-SOCIAL VISUALIZATION PLATFORM”, filed Jun. 22, 2016, the entiredisclosure of which is incorporated by reference herein, in itsentirety, for all purposes. U.S. patent application Ser. No. 15/189,691claims the benefit of U.S. Provisional Patent Application Ser. No.62/183,068, “REAL TIME GEO-SOCIAL VISUALIZATION PLATFORM”, filed Jun.22, 2015, the entire disclosure of which is incorporated by referenceherein, in its entirety, for all purposes.

U.S. patent application Ser. No. 16/841,629 is a continuation-in-part ofcopending U.S. patent application Ser. No. 16/035,380, “SYSTEM ANDMETHOD FOR PRESENTING COMMUNITY EMOTIVE DATA GEOGRAPHICALLY ON A SOCIALMAPPING NETWORK”, filed Jul. 13, 2018, the entire disclosure of which isincorporated by reference herein, in its entirety, for all purposes.U.S. patent application Ser. No. 16/035,380 claims the benefit of U.S.Provisional Patent Application Ser. No. 62/532,007, “SYSTEM AND METHODFOR PRESENTING COMMUNITY EMOTIVE DATA GEOGRAPHICALLY ON A SOCIAL MAPPINGNETWORK”, filed Jul. 13, 2017, the entire disclosure of which isincorporated by reference herein, in its entirety, for all purposes.

U.S. patent application Ser. No. 16/841,629 is a continuation-in-part ofcopending U.S. patent application Ser. No. 16/036,923, “SYSTEM ANDMETHOD FOR AGGREGATION AND GRADUATED VISUALIZATION OF USER GENERATEDSOCIAL POST ON A SOCIAL MAPPING NETWORK”, filed Jul. 16, 2018, theentire disclosure of which is incorporated by reference herein, in itsentirety, for all purposes. U.S. patent application Ser. No. 16/036,923claims the benefit of U.S. Provisional Patent Application Ser. No.62/549,447, “SYSTEM AND METHOD FOR AGGREGATION AND GRADUATEDVISUALIZATION OF USER GENERATED SOCIAL POST ON A SOCIAL MAPPINGNETWORK”, filed Aug. 24, 2017, the entire disclosure of which isincorporated by reference herein, in its entirety, for all purposes.U.S. patent application Ser. No. 16/036,923 claims the benefit of U.S.Provisional Patent Application Ser. No. 62/532,991, “SYSTEM AND METHODFOR AGGREGATION AND GRADUATED VISUALIZATION OF USER GENERATED SOCIALPOST ON A SOCIAL MAPPING NETWORK”, filed Jul. 14, 2017, the entiredisclosure of which is incorporated by reference herein, in itsentirety, for all purposes.

BACKGROUND

Recent advancements in computing technology and Global NavigationSatellite Systems (GNSS) have led to a movement for creatingInternet-connected devices associated with their locations. Lessexpensive hardware has contributed to a trend in which traditionaldevices that connected via telephony and the Internet (e.g., email) nowinclude location sharing. This has also lead to significant technicalchallenges in the development of client software and services to fullyutilize these devices' capabilities.

As the number and type of network-connected computing devices hasincreased, there has been a fragmentation of content availability andquality among the various platforms. While some platforms provide socialnetworking with friends, they may not provide information on where aparticular friend is located. Further, current systems are notconfigured well to display where friends are located, where posts on anetwork are made, and where posts associated with locations are made.

Even adding a single letter to map pins, scaling to the considerablequantity of data shown on a social network, such as those even with wordlimitations, quickly becomes impossible. The information could becomeincomprehensible and you may lose the essence of the posted information.

Thus, there is a need in the art for devices and systems that allowusers to view posts in a digestible manner. Problems described hereinare difficult to solve, and require unobvious solutions—which is themain reason such a social network has not been created. The inventionsrequire the technological developments of today's portable devicesincluding GNSS receivers and various networks, and would not have beenpossible even a few years ago.

The disclosures herein are not a small leap over the prior art, butrather a technological disruption in the social media space. A completerethinking was required to produce solutions to the difficult problemspresented herein. Creating such a platform made for mobile devices withlimited screen space is even more difficult, due to space limitations.This is compounded by the fact that it's difficult to convey contextualand emotional information with few words, and maps typically have littlespace to convey information.

SUMMARY

In general, in one aspect, embodiments relate to a system for providinglocation information on a social network. The system can include: acomputer processor; and a social mapping module executing on thecomputer processor and configured to enable the computer processor to:receive, from a client device, a request for one or more social mediaposts, where the request includes screen attribute information about adisplay of the client device, geographic location information, and anidentification of a requesting account of the social network; identify aset of temporally recent social media posts based on the screenattribute information and the geographic location information; apply, bythe computer processor, grouping criteria to the set of social mediaposts to generate a suggested group, where: the suggested group is asubset of the set of social media posts, and applying the groupingcriteria includes: ranking each social media post of the set of socialmedia posts according to a customized score for each social media post,where the customized score is based on a set of preference factors,corresponding to the requesting account, applied to a general score ofeach social media post, and selecting, based the ranking, the subset ofthe set of social media posts for inclusion in the suggested group,where the selecting includes excluding at least one social media post ofthe set of social media posts from inclusion in the suggested groupbased on the ranking; provide, in response to the request, the suggestedgroup for display by the client device.

In general, in one aspect, embodiments relate to a method for providinglocation information on a social network. The method can include:receiving, from a client device, a request for one or more social mediaposts, where the request includes screen attribute information about adisplay of the client device, geographic location information, and anidentification of a requesting account of the social network;identifying a set of temporally recent social media posts based on thescreen attribute information and the geographic location information;applying, by a computer processor, grouping criteria to the set ofsocial media posts to generate a suggested group, where: the suggestedgroup is a subset of the set of social media posts, and applying thegrouping criteria includes: ranking each social media post of the set ofsocial media posts according to a customized score for each social mediapost, where the customized score is based on a set of preferencefactors, corresponding to the requesting account, applied to a generalscore of each social media post, and selecting, based the ranking, thesubset of the set of social media posts for inclusion in the suggestedgroup, where the selecting includes excluding at least one social mediapost of the set of social media posts from inclusion in the suggestedgroup based on the ranking; providing, in response to the request, thesuggested group for display by the client device.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are illustrated by way of example, and not by way oflimitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements.

FIGS. 1-2 illustrate exemplary schematic diagrams of a system, inaccordance with one or more embodiments of the invention.

FIGS. 3A-3E illustrate exemplary client devices, in accordance with oneor more embodiments of the invention.

FIG. 4 illustrates an exemplary post, in accordance with one or moreembodiments of the invention.

FIG. 5-6 illustrate exemplary client devices, in accordance with one ormore embodiments of the invention.

FIGS. 7-9 illustrate flowcharts of exemplary processes, in accordancewith one or more embodiments of the invention.

FIG. 10 illustrates an exemplary block diagram of a client device, inaccordance with one or more embodiments of the invention.

FIG. 11 illustrates an exemplary block diagram of a computing system, inaccordance with one or more embodiments of the invention.

DETAILED DESCRIPTION

Specific embodiments will now be described in detail with reference tothe accompanying figures. Like elements in the various figures aredenoted by like reference numerals for consistency. In the followingdetailed description of embodiments, numerous specific details are setforth in order to provide a more thorough understanding of theinvention. However, it will be apparent to one of ordinary skill in theart that the invention can be practiced without these specific details.In other instances, well-known features have not been described indetail to avoid unnecessarily complicating the description.

In general, embodiments of the present disclosure provide a method andsystem for aggregating, delivering, and/or creating visualizations ofcontent in a location-based content platform. For example, mobileapplications executing on devices of many millions of users can beenabled to send and receive content in real time to components of thelocation-based content platform. One or more of the mobile applicationscan be configured to provide contextual data associated with the user,device, and/or environment, and to receive data from the location-basedcontent platform for display to the user. The received data can includemap-based visualizations rendered by the mobile device and displayed tothe user for rapid consumption and understanding of proximity-based,social, sentiment, or other data.

In various embodiments, systems described herein are social networks(e.g., wherein a user is connected to one or more, as with Facebook™ orQuora™). A user/profile may have connections and non-connections. Invarious embodiments, posts may appear on a screen (also interchangeablyreferred to herein as a display) of a client device such that theyappear to be covering a map. In other words, in some embodiments a usermay view posts on their display and see posts overlaying a map, suchthat a user may easily identify posts that are associated with a givenarea.

As described herein, due to: (1) a potential amount of posts (e.g.,hundreds or thousands; and (2) the amount of screen real estate on aclient device, some posts may need to be shown more predominantly thanothers. For example, some posts may be larger than other posts so a usercan easily view them. If, for instance, all posts were the same size andall shown at the same time, then hundreds or thousands of posts wouldovercrowd a display making the map, and therefore the posts, virtuallyuseless (e.g., as shown in FIG. 3B).

Thus, in various embodiments (e.g., as shown in FIG. 3C) rather thanshow many posts of the same size, which may be indistinguishable fromone another, some posts may be shown as being larger, with a differentcolor, be associated with an emotion (which may be indicated by anemoticon/emoji), be shown as a small cluster, or otherwise be moredisplayed more predominantly than other posts. Further, in variousembodiments, when a user has zoomed out, they may see posts that have ahigh importance level (also referred to herein interchangeably with avalue or a score), and when they zoom in on an area, a system may show auser posts with lower importance values. As such, various posts may befiltered out when a user is viewing a map from a certain “altitude.” Inother words, from a distance a user may see things that are important tothem—wherein importance can be based on a variety of factors—while whenclose up a user may be able to see posts that were not so important tothem, but may be shown for one or more other reasons (e.g., other thanthe user's preferences).

In some embodiments, posts made by connections may be more relevant thanothers. For example, posts that are related to a particular category(also interchangeably referred to herein as a channel) may be moreimportant/relevant to a user than others (e.g., the post may have ahigher value), and thus those posts may be displayed more predominantlythan other posts.

Similarly, in some embodiments, posts may be more relevant/importantbased on time. For example, if posts were made within the previous 1-2hours they may be displayed on a screen more predominantly than poststhat were made a day or two before. In some embodiments, posts that weremade on the same day of the week (e.g., Friday), time of the year (e.g.,Christmas), and/or have some type of unique/important/relevant temporalaspect may be shown more predominantly than other posts.

Further, posts may be ephemeral in nature. For example, if a systemknows that a happy hour will end at a certain time (e.g., because a useror restaurant owner makes a post indicating so), then a post may quicklybecome less predominant when the happy hour ends—as opposed to a postabout a party which slowly dies down over the course of 2-3 hours.Similarly, a system that provides posts about clubs, restaurants,museums, zoos, or any other place that closes may cause the posts aboutthose places to disappear quickly when the location and/or venue closes.In some embodiments, if a user sets up their system such that they rankwhere their friends are very highly (in one way or another), when theirfriends move from one place to another a post made by a friend orsomeone else at a location may disappear much quicker than if it hadbeen made by someone ranked lower (e.g., a stranger to the user).

Just as various posts may be ephemeral in nature, in some embodimentsposts will last longer than other posts. For example, if a user makes achannel that ranks salsa dancing very highly, then a post about a salsaclub may be displayed more predominantly and/or for a longer period oftime than a jazz club which may have more people or otherwise be morefun to a greater number of users of the social network.

As can be seen, bubbles or other symbols used to symbolize posts may bebased on an amount of time, or an amount of an activity per time (e.g.,the speed of a bartender, the amount of bikes at a bike party, thenumber of people in a particular area over a given amount of time). Inother words, a location or post's importance may be based on a type ofactivity, how relevant an activity is to a user (e.g., based on a userprofile corresponding to a user), whether a location/activity istrending (e.g., it is gaining in value/importance faster than otherlocations/activities, etc.

While various social media platforms now may provide users with trendingtopics (e.g., Reddit™, Facebook™), embodiments described herein tend tofocus on how a social media platform can operate on a map. For example,while Reddit™ may have a front page with posts that are trending orotherwise have a higher value than posts on a second page, posts thatare trending or otherwise have a higher value than other posts may beshown when a user is further zoomed out, and the user may see posts withlower values (e.g., posts that would be on a second or third page ofReddit™) as the system zooms in on a smaller area.

Also, in various embodiments described herein, a user may be able tocurate their own map. For example, a user may create a plurality ofchannels which may, or may not, be combined to sus out venues and/oractivities they may not have otherwise known about. For example, a usercan create a channel associated with Japanese culture and shows museums,concerts, plays, festivals, and other events and/or locations that arerelated to Japanese culture. At the same time, that user may have achannel for bars, or even karaoke bars. In such a case, a system may beconfigured to receive input that causes maps to interact with each other(e.g., determine an activity/location that the two maps have in common).In the example described above, a user causes a device to combineJapanese Culture and Karaoke, in which case a map may show a uservarious Karaoke bars around a city. In some embodiments, a user may havea third channel or more, which may indicate that a user is interested inprivate places, or after-hour clubs. In such a case, a system mayfurther filter out Karaoke bars that are not open late or that are toobusy.

By adding one channel (which may be referred to as a type of map) ontoanother, a user may be able to predetermine their perfect night based ona variety of attributes described herein such as whether a user's groupof friends are moving from one late night Karaoke bar to another. Inaddition to friends, a type of community, a history of an area orcommunity, the amount of followers a person has that is making posts, anage of a person that is making posts (e.g., under 21), may allcontribute to the value associated with a venue, location, party,activity, sporting event, etc.

FIG. 1 shows a system 100 for receiving location information on a socialnetwork. The system 100 includes a communication means 101, a data store102, a processor 103, memory 104, a viewpoint generation module 105, anda social mapping module 106. Various components of system 100 can belocated on a client device (e.g., a mobile device, personal computer,laptop, personal digital assistant, smartphone, kiosk, cable box,television) and/or a remote computer (e.g., a server, the cloud). In oneor more embodiments there can be more than one of each separatecomponent running on a device, as well as any combination of thesecomponents within a given embodiment of the invention. Further, in oneor more embodiment a client device may receive information from a socialnetwork, such as a post, and/or a remote computer may receiveinformation from a social network, such as a post.

In one or more embodiments, a social mapping module 106 may be includedin system 100. A social mapping module 106 may execute on a computerprocessor and be configured to enable a computer processor to perform avariety of tasks. In one or more embodiments, a social mapping modulemay receive social mapping data (e.g., a post, which may be receivedfrom data store 102), where the social mapping data is associated withone or more geographic locations. For example, social mapping data maybe used to identify and/or locate places where the social mapping data(e.g., posts) are being received from, and where viewpoints are focused.

In one or more embodiments, a viewpoint is a graphical representation ofsocial mapping data displayed on a client device. A viewpoint may showan area of a map encompassing 100 meters, 1000, meters, 10 km, etc. Inone or more embodiments a viewpoint may be based on a type of area shownon a map. For example, a viewpoint may be of a smaller area (e.g., arelatively smaller area of a map is shown on a display) if the area isan urban environment and/or includes many locations associated withposts, or a viewpoint may be of a larger area (e.g., a relatively largerarea of a map is shown on a display) if the area is a rural environment.The same may be applicable to areas where a threshold amount of posts(e.g., social mapping data) are located regardless of a type of an arearepresented on a map.

In addition to a social mapping module 106 and a viewpoint generationmodule 105, system 100 may include a communication means which cantransmit and/or receive information to/from a client device, a network,a multi-tenant network (e.g., the cloud), a network interfacecontroller, a network gateway, etc.

In one or more embodiments, a client device may submit a post to datastore 102. Such a post may include a graphical symbol received by aclient device. The post may be associated with an emotional statereceived by the client device, which may be represented by a color. Inone or more embodiments, an emotional state may be represented as avalue. For example, a user of a smartphone may provide input tosmartphone causing the creation of a post, and the user may cause thesmartphone to cause the post to be associated with a location, anemotional state value (e.g., where 0 is sad and 10 is happy, and whereother numbers may represent angry, depressed, bored, etc.) and otherthings including, but not limited to: a store, a person, another user ofthe social network, an image, a video, audio, a time, a date, a symbol,a pictograph, an ideograph, an ideogram, a smiley, an emoji, anemoticon, an emoji bubble (e.g., a shape including/containing an emoji).In one or more embodiments, a user may not know an emotional statevalue. For example, a user may select an emotional state of sad withoutknowing that a system represents sad with a value such as 0. In one ormore embodiments, emotional state values may be represented by bothsymbols and values.

In one or more embodiments, system 100 (which the social network may atleast in part run on) may receive posts, which may be stored in datastore 102. System 100 (e.g., via social mapping module 106) may create amap and/or associate posts with locations on a map, which may then betransmitted to a client device and displayed on a screen of a clientdevice. Based on input from a client device, system 100 (e.g., mappingmodule 106 and/or viewpoint generation module 105), which may be hostedremotely from a client device, may associate material to display on aclient device including, but not limited to: at least a portion of amap, at least one or more posts which may be represented by one or moresymbols, one or more colors representative of an attribute associatedwith a post (e.g., an emotion), an emoji, an emoji bubble, an image(e.g., of a location), a video (e.g., of the interior of a location,which may have been recorded within a particular period of time such asthe previous hour), etc.

In some embodiments, users may be provided with a mode of postingproviding the ability to tag symbols, emoji's, further enabling theability to tag emotions (e.g., sentiment) and/or contextual cues(displayed in different formats such as color). In addition toincluding/displaying this content within a social media/online post,this information may also be displayed as the main mode of informationtransmittal, with word usage being secondary. Different contextual datasets may be combined into a single visualization for quick comprehensionof the meaning of the posted data. These (e.g., the contextual data setsand/or visualizations) may include, but are not limited to: thetagging/inputting of emotional data using color, selecting symbols or“emojis” to visualize contextual information, by adding photos and/ormultimedia, and/or tag/entering of questions on a map (e.g., such thatanother user of the social network may respond).

As described above, a system can be configured to pull these types ofattributes together into a single data set visualized on the map. Eachdata set can be represented alone or concurrently with other data sets.

In one or more embodiments, screen attributes of a client device may bedetermined. Determining screen attributes of a client device may beperformed at the client device or remote from the client device (e.g.,at social mapping module 106 and/or viewpoint generation module 105).Screen attributes may include, but are not limited to: a size and shapeof a screen, a current zoom level, a pan location, an availability ofscreen space, a viewing angle, an amount of transparency of a screen,and/or an amount of screen space. Further, screen attributes may be usedto determine what is shown on a display, including, but not limited to:an amount of a map, a number of posts, a number of symbols representingposts, whether multiple posts/symbols should be represented by fewer(e.g., a single or a few) posts and/or symbols, a number of emojis,notifications associated with a social network, an amount of icons,types of illustrations, and/or a resolution of one or more displayedobjects.

In one or more embodiments, transforming the visualization of content ofa post dependent on a user's screen information can involve thefollowing: a user's viewport or a user's desired viewpoint, a user'szoom level, a user's pan location (e.g., an area where they have movedtheir view above), and/or a user's screen dimensions.

In one or more embodiments, using this information to change thedisplayed post can include, but is not limited to: displaying indicatorsof total user activity variously as heat maps, dots, or otherindications to show total amount activity, or all posts at any giventime; showing, at a zoom level that is further out, an aggregate of userposts as a single bubble, and/or displaying a slideshow of user posts(e.g., multiple pictures and/or text) within or adjacent to that bubble.In this way, a system may act like a visual summarization of postedcontent at higher zoom levels. As another example of what happens when auser zooms in on a location, individual bubbles (or other types ofposts) may convey a specific post from a user (which may be designatedfor a specific person or group of people). Further, in some embodimentsa system may simply show only as many bubbles on screen at a given timebased on a user's available screen space. This may prevent the overlapof posted information, making the system easier to use. In someembodiments user's may cycle through which post and/or channel to showand hide as the user's viewport changes. Further, a user's device mayreveal hidden text, allowing those words to unfurl/become visible inresponse to screen real estate becoming available.

Methods discussed herein allow users to get an overall “gist” of totalactivity in a certain area. If bubbles popped up randomly, withoutshowing the total activity in an area, users would be aware ofinformation but never know the total aggregate of human or contentactivity in a specified area. This could be done by showing a heat map,or other visualization methods to show overall system activity. Theplatform may use dots, that even at their most minimum are colored,showing tagged emotional information.

In addition to, or instead of dots and heat maps, Emojis may populate amap to allow contextual information to be shown with little word usage.Emojis enable expression of social posts and bring context to postswithout using words. When combined with bubble UI elements of thelocation-based content platform (and/or sentiment module and/or a moodexpression system), as a whole it allows a user to communicate “what'shappening”, the emotion behind the thought. The system combines thissymbolization selection with mood selectors to bring multiple emotionaland contextual indicators into a post replacing the need for words,which are secondary.

As described herein, in one or more embodiments, the system finds themost relevant posts for a given (geographical) area and lists them inorder of importance (e.g., gives them an importance value as compared toother posts). The system can then add those posts to a map in order ofimportance. If any post would fall on top of another post, then it maynot be displayed or vanish. This ensures that only the most relevantposts are displayed and are never hidden or cluttered. The systemdetermines what transformation effect to show (e.g., a fade out vs. anabrupt stop), which bubble items to show, and which form to show at anygiven time based on one or more attributes. Such attributes may include,but are not limited to: a number of votes a post has received, when thepost was posted, how long ago, and/or how many comments the post has.

Integrating emotional or contextual cues and visualizing them as coloror symbolization as part of a single post rather than using words mayenhance a system's capabilities (comprehension) and space requirementsover using words alone.

In some embodiments, posts may be plotted by relevancy (importance scoreorder) which may be determined by:

1) finding all posts with in a view point; and

2) calculating their importance score.

Next, a system may plot them within the view point in their importancescore order, and lower importance posts falling under/overlapping higherpriority posts are not displayed.

In some embodiments, posts/dots shown on the map are state data shown inminimal form. These are viewable in all zoom levels to show the amountor level of activity in a region. These could be heat maps or othervisualization methods showing the amount of total activity in an area.

Further, in some embodiments, a system may track one or more map regionspresented to the user. Based on pan and zoom, it transforms thepresentation of posts from an aggregated radar zoom to individual bubbleUI elements, that pop up, showing state data as individual posts. Poststhat are more important appear as higher priority bubble views. Capturedand aggregated relevancy data can be used to calculate importance.Further, if a system determines that a user may want to be alerted aboutanother area/location/event, the system may cause a display to movewithout the user's input. For example, a system may determine what auser may want to see based on a user's past history, similar users, orby using various machine learning techniques that become better as theyare used more.

The system aggregates relevancy data to calculate a score (importancescore) that determines which post appears first, analogous to thetallest trees getting most of the light.

This symbolization provides greater context using fewer words thanTwitter's 140-word limit. Color provides “tagged” information. Animatedunfurling of posts may show more data based on screen space. In someembodiments animated bubbles may pop in and out based on screen space,display information, and/or whether an event ended. This combines toenable a system to scale a massive amount of content data on screen atonce without becoming overloaded even in a small space such asManhattan, N.Y.

As can now be seen, what might at first might seem like arbitrary designdisplay, is in fact, carefully developed functionality to fix the hardproblem of displaying relevant data from a large set. This functionalityallows for a relevant scalable social network on a map.

Without the popping in and out from the minimal dot form, using oldstyle map pins, for example with respect to the amount of content in anarea such as Manhattan, would quickly overflow a map causing it tobecome unreadable. See, for example, FIG. 3B.

Without the ability to tag state data and symbolization using color,users might only be able to use text to convey their feelings. Twitter's140-character tweets wouldn't work on a map. Further, older aggregationtechniques may lose the context of post at higher zoom levels.

All these functionalities in concert (e.g., the bubbles, which are ableto appear and disappear based on location, the ability to attachsupplemental emotional data using colors, the ability to visualizecontext using symbolization (emojis)) allow for advantageoustransformations of a post, which in another context may simply show upon page 2 of a messaging board.

In one or more embodiments, post data associated with a post may bedisplayed on at least one client device. Such post data (as discussedabove) may include, but is not limited to: a time and/or date, text,images, videos, a shape connoting location information, informationabout an area of a map, related posts, a symbol associated with a post,an emoji, an emoji bubble, a color, a color associated with an emotion.In one or more embodiments, a post includes post data, which may bedisplayed on a client device based at least in part on the screenattributes. For example, a particular amount of posts may be shown onthe screen of a client device based on the size of the screen (e.g., thedisplay of the client device).

FIG. 2 illustrates system 200, which is similar to system 100 butfurther includes a channel filtering module 107. Channels are discussedabove, and may be used to reduce an amount of posts shown on a display(and may also be referred to as a filter). In one or more embodiments, achannel may include a set of posts (e.g., a channel may filter posts,which may be shown on the display of a client device). Such a set ofposts may be related based on attributes of the channel/set of posts(also referred to herein as post attributes), including, but not limitedto: a keyword, a tag linked to/associated with the channel/set of posts,a hashtag, a region, a city, a proximity, a common location, an event, alocation, a type of location (e.g., a bar, a club, a deli, a sushirestaurant, a stadium, a park), a type of food, a set of social networkconnections (e.g., selecting a channel may cause posts from a particularset of network users to be displayed on a client device), postscomprising a certain weight (e.g., an amount of upvotes, an amount ofdownvotes, an aggregate amount of upvotes and downvotes, an amount ofcomments, an amount of upvotes of comments of a post, a user'spreferences, a time associated with comments, and/or a time associatedwith the post(s). In one embodiment, a post may be based on a channel(e.g., a user may make a post to a certain channel), and the channel mayinclude a set of posts.

FIG. 3A illustrates an example client device 300, according to variousembodiments. Client device 300 includes a display 305 including a map,and a plurality of symbols 302, 304, 306, and 308 representing one ormore posts, which may be located on the map.

In one or more embodiments, symbol 302 includes a shape including anemoji. The shape included in symbol 302 may include a color which may berepresentative of an emotion which a user may enter on client device300. For example, client device 300 may receive input causing it tocreate a post, and the input may include post data such as a location,symbol, and/or an emotion, all of which may be determined by system 100and/or entered by a user. In one or more embodiments, a color may beassociated with post 302 (e.g., the shape may be colored), and the colormay be based on an emotion entered by a user on client device 300.

In one or more embodiments a symbol 304 and 306 may be shown whichindicates an emotion. For example, a symbol 304 and 306 may be shown onclient device 300 and include an emoji, which may show an indifferentface (e.g., symbol 306) or an unhappy face (e.g., symbol 304).

In one or more embodiments, client device 300 may show on its display305 an aggregation of posts (e.g., reviews) such as symbol 308. Forexample, instead of showing a plurality of posts which do not overlap,symbol 308 may indicate the plurality of posts. In one or moreembodiments, if a user selects symbol 308 a plurality of at least aportion of reviews may be shown which may be posted by other users of asocial network. After a user selects symbol 308, multiple posts may beprovided to a user, which may each include at least a portion of areview. In one or more embodiments, a user may view a completereview—which may include images, text, videos, audio, etc.—in responseto selecting a review shown after the user has selected the aggregationof posts symbol 308.

In one or more embodiments, text may be shown on display 305. Forexample, text may be shown indicating an amount of zoom, an amount ofvotes a post has received, etc. In some embodiments, text may beincluded in a post and displayed on client device 300. For example, auser may select symbol 306 and text may be shown associated with a postrepresented by symbol 306. The text may indicate why symbol 306 includesan indifferent emoji. In one or more embodiments, text included in apost may be used to create symbol 306. For instance, text discussing howbad a location is may cause a symbol (e.g., symbol 304) to be associatedwith a post, wherein the symbol denotes an unhappy emotion (such as anemoji with an unhappy face).

FIG. 3B illustrates an example client device 300, according to variousembodiments. As can be seen on example client device 300, and asdescribed throughout the instant disclosure, in some embodiments aplurality of reviews may be shown on a display so much show that thedisplay is of no use. For example, the display shown in FIG. 3B includesso many symbols representing posts that a user cannot sort through themall. As such, systems and methods described herein may cause a displayto provide posts in a more digestible manner. For example, posts may beaggregated such that a single symbol may represent a plurality of posts,and thus the posts may not clutter screen real estate. An addition, oras another method, posts may be filtered at least by attributes suchthat only a subset of posts are shown (e.g., posts may be filtered by atype of restaurant, music playing at a venue, etc.).

In various embodiments, a system can be configured to transform lessimportant content into expanded bubbles at lower zoom levels. Lessimportant content may be displayed/seen less frequently during theaggregation display and may pop up less frequently.

Digestible content can be created in all or most of the viewport options(e.g., view modes and/or configurations). In one or more embodiments,the utilized display is configured to “flex” or transform in display,allowing users to view a summary of the content in a specific area,while also having the ability to see the most relevant individual postswithout having to zoom in. The overall effect of the system is toprovide an overview of the most important human activity in a country,region, city, or other level.

In various embodiments, as the number of users of the social networkgrow, the use of static pins may become exponentially less effective. Asmore users begin using the system, the ability to discern relevantcontent becomes more difficult. The location-based content platformdisplays content based on relevancy in relation to the user's viewpoint.As the user's location and relevancy of data change, the system isconfigured to hide and show Bubbles/posts dynamically in order to filterout content determined to be less relevant to the user.

Our system may provide for a non-obvious solution to this problem bymimicking the behavior of a bubble as seen in nature. The most importantdefining feature of a displayed bubble is the ability to pop in and outof existence (in other words, in and out of being displayed). Our systemis able to use the bubble modality to show (pop in) and hide (pop out)posted social content, based on information gathered from a user's viewport. Just as a bubble changes size and shape, these bubbles (e.g.,posts) also have the ability to transform and change visual mode ofdisplaying similar variations of the same content in multiple differentways.

FIG. 3C illustrates an example client device 300, according to variousembodiments. Client device 300 includes symbols 320, 322, and 324. Inone or more embodiments, symbols 320, 322, and 324 may be symbols thatare an aggregate of two or more posts. In addition, some posts may beassociated with text.

In one or more embodiments, text may be altered. For example, text maybe altered by appearing or disappearing on display 305 based on avariety of factors. Text may be displayed on a tab, wherein the tab isassociated with a symbol (e.g., a tab may be emerging from a symbol(also referred to as a graphical symbol)). Altering text may includedisplaying additional text, or less text. In one or more embodiments,text may be altered based on an input received by a client device suchas where a tab is selected. For example, text shown in FIG. 3C maycorrespond with symbol 320, and may show more or less text, at least aportion of which says, “GREAT BLUES MUSIC!”

Moreover, text may include an indication of a value associated with anattribute. In one or more embodiments, various symbols or otherrepresentations of posts may be shown based on values (e.g., rankings)associated with particular attributes. For example, a user may filterposts/aggregated posts (which may be used interchangeably herein withcreating and/or viewing a channel). In one or more examples, as shown inexample FIG. 3C, posts may be filtered by nightlife. Various attributes,such as drink specials, salsa dancing, and blues music may be attributesthat are filtered. For example, here, Broadway shows may be filtered out(and may have been shown on the cluttered map in FIG. 3B. Posts,symbols, etc. may be shown over others based on rankings/valuesassociated with the attributes. For example, many dancing symbols 322may be shown, and text corresponding to the dancing symbols may showthat the average salsa dancer at one or more locations has a skill levelof 8. Thus, in some embodiments, this set of posts/aggregated symbol maybe shown rather than one in another part of town. Similarly, anattribute such as drink specials may be associated with an ambivalentface as shown by symbol 324 and its corresponding text. In someembodiments, a plurality of attributes corresponding with one or morelocations may correspond to a plurality of rankings, all of which may beused to determine how many, a type of, and/or where a symbol/post may beshown on a map, as described herein.

In one or more embodiments, instead of rankings corresponding withattributes corresponding to a post, or in combination with rankingscorresponding to attributes associated with a post, in one or moreembodiments a post itself may be based on a relevance number. Arelevance number may be based on various attributes including, but notlimited to: a time that a post was recorded, a number of votes receivedby a post, a number of positive/up votes received by a post, a number ofnegative/down votes received by a post, an aggregation of a number ofpositive/up and negative/down votes received by a post, a number ofcomments received by a post (e.g., associated with a post), a number ofpositive/up votes received by comments associated with a post, a time ofat least one comment, and/or a comment relevance (e.g., whether thecomment has something to do with the post, whether the comment wasposted by user's connection within a social network).

FIG. 3D illustrates an example client device 300, according to variousembodiments. As with 3C, attributes of symbols 332, 334, and 336 may beshown based on rankings associated with their attributes. For example,symbol 336 may be shown based on an attribute the quality of wavesassociated with beach/symbol 336. In one or more embodiments,information corresponding with an attribute of a post or symbol may bereceived from a system from a canonical (e.g., third-party source). Forexample, information from a beach information website may provide asystem with the quality of waves. Similarly, in some embodiments,information provided by a website such as Yelp! ™ may be used todetermine a value of an attribute corresponding to a location/post. Asanother example, an RSS feed (e.g., from a twitter account) may be usedto rank attributes, create posts, and/or determine which posts/symbolswill be displayed on a client device. In some embodiments, a post/symbolsuch as 332 may not be shown because its value associated with waves isonly 3. However, it may be shown—despite its wave ranking of 3—based onrankings provided by one or more users. For example, a combination ofthe rankings of attributes of a post (e.g., the quality of waves,wherein waves is an attribute of a location) may be combined withrankings of a post itself (e.g., a beach in Santa Cruz where people aresurfing).

In some embodiments, a cumulative ranking of a post/group of posts maybe based on rankings of multiple attributes. For example, a post/symbol334 of a beach in Monterey may indicate that the quality of waves is a6, and that the beach has bathrooms and lifeguards such that childrenmay go into the water there. In one or more embodiments, the cleanlinessof the bathrooms may be ranked and/or the quality of the waves—which mayall be included in the overall ranking of the location (e.g., whether itmay be shown on a particular map created by one or more users).

As described throughout this disclosure, a beach in Santa Cruz may be alocation about which a post may be made. Many posts may be aggregatedinto a single post such that a map is not cluttered. A post and/oraggregated post (which may be represented by a symbol) may haveattributes associated with it/corresponding to it (e.g., waves). In oneor more or more embodiments, the attributes may have their own rankings,which may affect which or whether a post/symbol is shown on a map on aclient device. An example of an attribute with its own ranking would bean attribute such as waves, which are ranked by a quality (e.g.,surfability, size, etc.).

In one or more embodiments, the system can be configured to determinerelevancy of a posting user based on one or more signals including, butnot limited to: whether a user is following another user (e.g., whetherconnected, or simply being updated when a person posts (e.g., unilateralfollowing)); whether a user is subscribed to a map channel which is alsosubscribed to by a posting user; and/or whether the viewing user shareinterest with the posting user; whether the viewing user sharesdemographic traits with the posting user.

In one or more embodiments, according to the derived importance and/orrelevancy scores, the system can be configured to do one or more of thefollowing including, but not limited to: showing the content moreprominently on the map; expand or display the content at higher zoomlevels; expand or display the content with more frequency eitherindividually or in aggregate; and/or expand or Display more content ofthat type.

Relevancy scores/cues may be a weighted aggregate comprising, withoutlimitation: Comment Score, Vote Score, and/or Time Score. A CommentScore may be a number determined by the number of comments that a posthas and how recent each comment was posted. Older comments may have alower score, more recent comments may have a higher score. A Vote Scoremay be a number determined by the number of total votes and up votesthat the post has received, weighted by how recent those votes tookplace. In some embodiments, a Time Score may be a number weighted by howold the post is, older posts have a lower score. By using the aggregatedRelevancy score/values, it may be possible to surface the most relevantand popular content.

Further, in some embodiments some activities or locations that a user isinterested in may be weighted differently than others. For example, if auser likes Mexican food they may weight Mexican food 3 times higher thanKorean BBQ. As such, if a particular Mexican food restaurant has arating/score of 3, and a Korean BBQ restaurant has a rating/score of 7,then the Mexican food restaurant would have a total weighting of 9(e.g., 3×3) making it more relevant/important to the user who likesMexican food.

In some embodiments, an ephemerality system (e.g., a system that may addor remove posts based at least in part on a period of time) may provideuser control over post content ephemerality on a map-based socialnetwork. This has multiple advantages such as providing a more accuraterepresentation of “what's going on now”, and giving a real time feel tothe map. Further, disappearing posts may add space so map contentdoesn't fill the screen, thereby allowing the system to scale in usernumbers and post without overflowing their screen.

In one embodiment, users are given the ability to select how longposts—or certain types of posts (e.g., based on a channel)— remain on amap. A duration of a post can range from less than seconds, seconds,minutes, hours, days, weeks, months, years, or all the way to infiniteduration.

In one embodiment, a history scrubber allows users to rewind back intotime and see the map as it existed some place in the past. This givesthe benefits of “real time” posting (what's happening now) whileproviding the ability to see historical information (what was happeningthen). This way, a real-time overview of human events is provided whilenot overflowing the map with old social postings. This can be configuredto work analogously to moving forward and back on a YouTube video,entering date information, using incremental time controls, havingversions of maps, and so on.

In some embodiments, a user may see what happened on a previous weekend,such as where their friends went and/or what types of posts happened atdifferent places. Such functionality may be combined with a third-partysource such that a user can have multiple sources of information to makea more informed decision regarding what play they would like to see,where they would like to go, what they would like to eat, who they wouldlike to spend their time with, etc.

It is contemplated that in some embodiments a user may tag other users,such that the user knows to stay away from a certain location, or go toa certain location. In some embodiments a user may also erase posts theymade or not allow other users to see where they were or what they did ata previous point in time.

FIG. 3E shows an example of multiple maps combined into one. Forexample, a map shown on device 340 may be a first user's map which maybe filtered by locations above a particular point. A map shown on device350 may be filtered to show locations below a particular point. In oneor more embodiments described herein, a user (e.g., a user of clientdevice 360) may select multiple filtered maps (e.g., the maps shown ondevices 340 and 350, which may have been created by strangers and/orconnections) and combine those maps to be shown on their own screen. Inone or more embodiments, a discussion about channels included herein maybe applied to such an embodiment, since in some embodiments channels andfilters may be used interchangeably to described substantially the samefunctionality.

In some embodiments, a map may include every post and/or symbolsrepresenting every post made (e.g., to a social network). Users mayconfigure their maps however they like. As discussed herein, a user mayselect a shape and size of a map shown on their mobile device, as wellas the types posts shown by using filters/channels. In some embodiments,such as those shown in FIG. 3E, a user may cause symbols/posts fromanother user's system to be shown on their device (e.g., map). Many mapsfrom many users may be shown on a user's device in a similar fashion(e.g., the information shown on devices 340 and 350 may be shown ondevice 360). In some embodiments, a user may import all types ofinformation onto their system. For example, a user may import one, two,three, or ten filtered maps (e.g., maps including posts wherein theposts are shown based on a location, attribute, ranking, etc.) ontotheir own device (and these filtered maps may be shown on their device).In some embodiments, a user may filter the imported filteredposts/maps/symbols such that their screen is not cluttered and/or theysee the types of posts/symbols that they would like to see. As with anypost/symbol/attribute, they may be ranked and/or text may be includedand/or altered (e.g., to show more or less text as in FIG. 3C) based onpreferences of a user. In one or more embodiments, a combination of mapsmay be referred to as an atlas.

FIG. 4 illustrates an exemplary depiction of systems described herein,in accordance with one or more embodiments of the invention. FIG. 4shows a review 402. Review 402 includes an image 404 and text 408. Thereview 402 may appear in response to device input such as the pressingof an emoji, in response to a request for a review, in response totyping in the name of a location, etc. In some embodiments users mayview many reviews by swiping a screen in a particular direction,searching for a connection's reviews, searching for reviews within theprevious 20 minutes, etc.

FIG. 5 shows posts 502 displayed in their minimal form, even in thisform the “emotional” tags are still shown giving a user a high-leveloverview of the nature of posted information. However, as a user zoomsin closer to a post they may various posts may become more descriptive,rather than being a simple dot on a map. If a user still does not knowwhat they would like to do and/or see, they may post questions for otherusers to answer.

For example, FIG. 6 shows that a user has posted a question 602 andnearby users are notified of questions posted to the map. In thisexample, the color is shown as grey denoting a “question” post.

In one or more embodiments, the social mapping module includesfunctionality to receive, from a client device, a request for one ormore social media posts. For example, the social mapping module 106 mayreceive a request from the client device 300. The request may includescreen attribute information about the display 305 of the client device.For example, the size of the display 305, the resolution of the display305, areas of a map displayed on the display 305, etc. The request mayinclude geographic location information, for example, identifying ageographic location of the client device 300 or an area/specificlocation navigated to where the client device 300 is not currentlylocated. The request may include identification of a requesting accountof the social network, for example, the account associated with a userof the client device 300.

In one or more embodiments, the social mapping module includesfunctionality to identify a set of temporally recent social media postsbased on the screen attribute information and the geographic locationinformation. For example, the social mapping module may only identifysocial media posts that have been posted within the most recent 15minutes, 30 minutes, 45 minutes, 1 hour, 2 hours, 3 hours, 12 hours, and24 hours. In addition, the social mapping module may only identifysocial media posts that are within a proximity of distance from thelocation included in the geographic location information, and/or withina map view specified by the screen attribute information.

In one or more embodiments, the request further includes a categoryindication. For example, the category (or channel) may be restaurants,bars, sports venues, etc. Identifying the set of temporally recentsocial media posts may be based on the category indication. In otherwords, the identification may partially or completely exclude socialmedia posts that are not included in the indicated category.

In one or more embodiments, the social mapping module includesfunctionality to apply grouping criteria to the set of social mediaposts to generate a suggested group. For example, the social mappingmodule may further filter the social media posts to determine asuggested group of social media posts that may be later provided to theclient device. Accordingly, the suggested group may be a subset of theset of social media posts.

In one or more embodiments, applying the grouping criteria includesranking each social media post of the set of social media postsaccording to a customized score for each social media post. Thecustomized score may be based on a set of preference factors(corresponding to the requesting account) that are applied to a generalscore of each social media post. For example, each social media post mayinclude a general score that is not specific to any particular user orpreference. The general score may be based on various factors, likegeneral popularity. One or more preference factors may definepreferences of a particular account. Such preference factors may beapplied to the general score of a social media post to arrive at acustomized score for the social media post. In other words, thepreference factors may be used to determine a weighted version of thegeneral score, resulting in the customized score that is specific to theparticular. In the absence of a preference factor, the unweightedgeneral score may be used.

A preference factor may be implicit or explicit. For example, apreference factor may be determined based on an account's past behavioror account attributes (e.g., demographics like age, sex, gender, etc.),or may be based on explicit indications made by the account.

In one or more embodiments, the social mapping module includesfunctionality to rank each social media post based on a distance betweena geographic location corresponding with the social media post and thegeographic location information. For example, the social media post maycorrespond with a location such as a salsa club, and the ranking may bebased on the distance of that salsa club from the location identified bythe geographic location information.

In one or more embodiments, the social mapping module includesfunctionality to select, based the ranking, the subset of the set ofsocial media posts for inclusion in the suggested group. The selectingmay involve excluding at least one social media post of the set ofsocial media posts from inclusion in the suggested group based on theranking. In one or more embodiments, the social mapping module includesfunctionality to provide, in response to the request, the suggestedgroup for display by the client device 300.

While the present disclosure sets forth various embodiments usingspecific block diagrams, flowcharts, and examples, each block diagramcomponent, flowchart step, operation, and/or component described and/orillustrated herein may be implemented, individually and/or collectively,using a wide range of hardware, software, or firmware (or anycombination thereof) configurations. In addition, any disclosure ofcomponents contained within other components should be considered asexamples because other architectures can be implemented to achieve thesame functionality.

FIG. 7 illustrates a flow chart 700 wherein Emotive Social Data recordsa person's emotional state and geographical location along with butoptionally a short message, a video, or photos, and uploads thecollection to a social graph to be viewed by other people. We can callthese emotive social records posts.

At step 710 a location is captured. A client device may capture alocation of the Person creating the post or another location on earth orany other planet that we have geographical data of.

At step 720, and emotion emoji/sentiment is captured. For example, aclient device may capture a person's social state. Social state dataincludes but is not limited to their general sentiment (good, bad,neutral), a short description of their sentiment, An Emoji of theirsentiment.

At step 730, ancillary data may be captured by a client device.Ancillary data includes but is not limited to: photos, video, text,audio, metadata about a photo, video, and/or audio, and/or or livebroadcasting of ancillary data.

At step 140, this social data may be uploaded to the social graph, whichis a collection of all social data. As more users perform thesefunctions, the more robust a map becomes, and the greater the likelihooda user will find what they are looking for—even if they didn't know itexisted.

FIG. 8 illustrates a flow chart 800 which can calculate the value of apost (e.g., its importance score), in accordance with some embodiments.At step 805, a post age is determined. This may be used to determinewhether the activities described in the post are still occurring, or ifthey have ended. In some embodiments, the older the post the lessimportant it is. However, in other embodiments a post that has lastedthe test of time (e.g., been shown on one or more user's devices for athreshold amount of time), then it may have a higher value.

At step 810, ancillary emotive post data may be collected (e.g.,comments, upvotes/downvotes). Ancillary emotive post data may help todetermine importance, for example comments could be added to a post. Themore comments a post has the more important it is. How recent commentsare may also impact an importance. Other emotive patterns such as: upvoting/down voting of a post, the number of likes or favorites the posthas received.

At step 815, a score may be given to each set of ancillary post data(comment score, vote score, etc. . . . ) weighting more recent datapoints greater than older ones. A system may then apply a score to eachancillary data point and weights it according to the design of thesocial graph designers. For example, if the designers of the socialgraph value positive ancillary social emotive data then positive datawill be weighted higher than negative data.

At step 820, individual scores may be added together and multiplied by aweighted average based on time, for example (although they could beweighted on a channel, an emotion, a user, a location, etc.).

At step 825, the social graph designers (e.g., one or more users) mayweigh the impact of each previously discussed social emotive data scoreand combine them together to deliver an overall importance score.

FIG. 9 illustrates a flow chart 900 that may determine relevance scores,in accordance with some embodiments. At step 905, a system may capturethe user's screen data, which may influence what is shown on the map.For example, if a user is browsing toys on Amazon™, toy stores may bemore prominent on the user's map.

At step 910, a system may receive a user's viewpoint which maycorrespond to a physical region on the map. This may correspond to anactual real-life piece of the map. E.g., a geographic region that fallswithin 3 or more geographic coordinates. Although, it is contemplatedthat four or more coordinates may be used to create an area.

At step 915, a system may determine all posts within a region. Forexample, a system may determine all of the posts within the region thatwe previously obtained by the user. In some cases, a user may be able toview posts that were made during a particular period of time such as theprevious weekend. These posts may be emotive social data shared by auser into the social graph.

At step 920, a system calculates post's Importance Scores (or value).The system then calculates, or receives the already calculatedImportance Score.

At step 925, a system may plot posts on a map based on their values, asdescribed throughout the instant application. The system may order theposts based on their importance score in descending order, with thehighest importance score coming first. These are then plotted on the mapin order. At step 930, lower importance posts may fall under/overlappinghigher priority posts are not displayed.

As each post is placed on the map there is a chance that they mayoverlap. A system may prevent this by not placing a priority post on themap on top of another priority post. If a post would fall on top ofanother post of higher importance, it is instead placed below it using asmaller less priority view, such as a dot.

FIGS. 7-9 illustrate flowcharts of various methods for functionalityassociated with the example location-based content platform of FIG. 1 .While the various steps in the flowcharts are presented and describedsequentially, one of ordinary skill will appreciate that some or all ofthe steps may be executed in different orders and some or all of thesteps may be executed in parallel. Further, in one or more embodimentsof the invention, one or more of the steps described below may beomitted, repeated, and/or performed in a different order. Accordingly,the specific arrangement of steps shown in FIG. 3 should not beconstrued as limiting the scope of the invention.

The process parameters and sequence of steps described and/orillustrated herein are given by way of example only. For example, whilethe steps illustrated and/or described herein may be shown or discussedin a particular order, these steps do not necessarily need to beperformed in the order illustrated or discussed. Some of the steps maybe performed simultaneously. For example, in certain circumstances,multitasking and parallel processing may be advantageous. The variousexample methods described and/or illustrated herein may also omit one ormore of the steps described or illustrated herein or include additionalsteps in addition to those disclosed.

Embodiments may be implemented on a specialized computer system. Thespecialized computing system can include one or more modified mobiledevices (e.g., laptop computer, smart phone, wearables like a smartwatch, personal digital assistant, tablet computer, or other mobiledevice), desktop computers, smart televisions, smart home appliances,electronic kiosk stands, smart automobiles, servers, blades in a serverchassis, or any other type of computing device(s) that include at leastthe minimum processing power, memory, and input and output device(s) toperform one or more embodiments.

Embodiments of the invention may be implemented on various mobile ornon-mobile computing devices, regardless of the platform being used. Inone or more embodiments of the invention, as depicted in FIG. 10 , amobile device 1000 can be used to create, receive, and/or transmit oneor more sensory memes and/or, more generally, to implement one or moreof the user interface related functionality disclosed herein. The mobiledevice 1000 may include any portable device that provides a userinterface. Examples of mobile devices may include, but are not limitedto, cellular phones, personal digital assistants, personalcommunicators, tablet computers, smartphones, or any other computingdevice. The mobile device 1000 can include one or more processor(s)1002, memory 1004 (e.g., RAM, cache memory, flash memory, etc.), astorage device 1006 (e.g., a hard disk, a solid state drive, an opticaldrive such as a compact disk drive or digital video disk (DVD) drive, aflash memory stick, etc.), a subscriber identification module (SIM) card708, a speaker 1029, an antenna 1019, a wireless interface 1070, anetwork interface 1032 and numerous other elements and functionalitiestypical of mobile devices (not shown).

The mobile device 1000 may include input means and output means, such asthe keyboard, the receiver 1028, and/or the touch sensitive displaydevice (e.g., a touch liquid crystal display screen) 1020, which permitsa user to perform gestures (e.g., drag, swipe, multi-touch, select,press and hold, etc.) and enter/display keystrokes (including numeric,alphabetic, and other characters, images, or other media types). Otherinput devices may include a camera 1022, a sound recorder 1026, and/orother data recording mechanism. Those skilled in the art will appreciatethat these input and output means may take other forms now known orlater developed. Using embodiments of the present invention, a consumermay initiate create, edit, and/or share a video vignette using themobile device 1000.

The form factor and functionality of the mobile device 1000 can vary inaccordance with various embodiments of the invention. For example, asdiscussed above, the mobile device 1000 can include one or more sensorydevices (e.g., wearable electronics, biometric, optical, acoustic,mechanical, electrical, etc.) or any combination of devices configuredto perform some or all of the functionality described with regard toFIGS. 1 and 2 .

The mobile device 1000 may be connected to a network (e.g., a local areanetwork (LAN), a wide area network (WAN) such as the Internet, or anyother similar type of network) via the antenna 1019, wireless interface1030, and/or network interface 1032. In one or more embodiments of theinvention, the network connection may be facilitated by a wirelessinfrastructure (not shown), including one or more transceiverscooperating to facilitate wireless communications to wireless devices.The wireless infrastructure may include one or more routers, switches,microwave links, base stations, optical fibers, or other similarnetworking hardware or software components. For example, the wirelessinfrastructure may be a paging network, a cellular network, etc. In oneor more embodiments of the invention, the wireless infrastructure mayassociate any message received from a mobile device (1000) with a mobiledevice identifier of the mobile device 1000.

In one or more embodiments of the invention, the network connection maybe facilitated by a hardwired or other similar connection using thenetwork interface 1032. For example, the network connection may involvea hardwire connection or short-range wireless connectivity technologywith a second mobile device, a printing mechanism, a scanner, or arecording system.

In one or more embodiments of the invention, the gyroscope/accelerometer1034 and haptic actuator 1036 are examples of sensory devices embeddedwithin the mobile device 1000 and usable in the creation and playback ofone or more sensory memes.

FIG. 11 illustrates a computing system 1100 which may include one ormore computer processor(s) 1102, associated memory 1104 (e.g., randomaccess memory (RAM), cache memory, flash memory, etc.), one or morestorage device(s) 1106 (e.g., a hard disk, an optical drive such as acompact disk (CD) drive or digital versatile disk (DVD) drive, a flashmemory stick, etc.), and numerous other elements and functionalities.The computer processor(s) 1102 may be an integrated circuit forprocessing instructions. For example, the computer processor(s) may beone or more cores or micro-cores of a processor. The computing system1100 may also include one or more input device(s) 1110, such as atouchscreen, keyboard, mouse, microphone, touchpad, electronic pen, orany other type of input device. Further, the computing system 1100 mayinclude one or more output device(s) 1112, such as a screen (e.g., aliquid crystal display (LCD), a plasma display, touchscreen, cathode raytube (CRT) monitor, projector, or other display device), a printer,external storage, or any other output device. The computing system 1100may be connected to a network 1120 (e.g., a local area network (LAN), awide area network (WAN) such as the Internet, mobile network, or anyother type of network) via a network interface connection 1118. Theinput and output device(s) may be locally or remotely connected (e.g.,via the network 1120) to the computer processor(s) 1102, memory 1104,and storage device(s) 1106.

One or more elements of the aforementioned computing system 1106 may belocated at a remote location and connected to the other elements over anetwork 1114. Further, embodiments of the invention may be implementedon a distributed system having a plurality of nodes, where each portionof the invention may be located on a subset of nodes within thedistributed system. In one embodiment of the invention, the nodecorresponds to a distinct computing device. Alternatively, the node maycorrespond to a computer processor with associated physical memory. Thenode may alternatively correspond to a computer processor or micro-coreof a computer processor with shared memory and/or resources.

For example, one or more of the software modules disclosed herein may beimplemented in a cloud computing environment. Cloud computingenvironments may provide various services and applications via theInternet. These cloud-based services (e.g., software as a service,platform as a service, infrastructure as a service, etc.) may beaccessible through a Web browser or other remote interface.

One or more elements of the above-described systems (e.g., FIGS. 1 and 2) may also be implemented using software modules that perform certaintasks. These software modules may include script, batch, or otherexecutable files that may be stored on a computer-readable storagemedium or in a computing system. These software modules may configure acomputing system to perform one or more of the example embodimentsdisclosed herein. The computer readable program code can be stored,temporarily or permanently, on one or more non-transitory computerreadable storage media. The non-transitory computer readable storagemedia are executable by one or more computer processors to perform thefunctionality of one or more components of the above-described systems(e.g., FIGS. 1 and 2 ) and/or flowcharts (e.g., FIGS. 7-9 ). Examples ofnon-transitory computer-readable media can include, but are not limitedto, compact discs (CDs), flash memory, solid state drives, random accessmemory (RAM), read only memory (ROM), electrically erasable programmableROM (EEPROM), digital versatile disks (DVDs) or other optical storage,and any other computer-readable media excluding transitory, propagatingsignals.

While the foregoing disclosure sets forth various embodiments usingspecific block diagrams, flowcharts, and examples, each block diagramcomponent, flowchart step, operation, and/or component described and/orillustrated herein may be implemented, individually and/or collectively,using a wide range of hardware, software, or firmware (or anycombination thereof) configurations. In addition, any disclosure ofcomponents contained within other components should be considered asexamples because many other architectures can be implemented to achievethe same functionality.

While various embodiments have been described and/or illustrated hereinin the context of fully functional computing systems, one or more ofthese example embodiments may be distributed as a program product in avariety of forms, regardless of the particular type of computer-readablemedia used to actually carry out the distribution. The embodimentsdisclosed herein may also be implemented using software modules thatperform certain tasks. These software modules may include script, batch,or other executable files that may be stored on a computer-readablestorage medium or in a computing system. These software modules mayconfigure a computing system to perform one or more of the exampleembodiments disclosed herein. One or more of the software modulesdisclosed herein may be implemented in a cloud computing environment.Cloud computing environments may provide various services andapplications via the Internet. These cloud-based services (e.g.,software as a service, platform as a service, infrastructure as aservice, etc.) may be accessible through a Web browser or other remoteinterface. Various functions described herein may be provided through aremote desktop environment or any other cloud-based computingenvironment.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as may be suited to theparticular use contemplated.

Embodiments described herein may be discussed in the general context ofcomputer-executable instructions residing on some form ofcomputer-readable storage medium, such as program modules, executed byone or more computers or other devices. By way of example, and notlimitation, computer-readable storage media may comprise non-transitorycomputer-readable storage media and communication media; non-transitorycomputer-readable media include all computer-readable media except for atransitory, propagating signal. Generally, program modules includeroutines, programs, objects, components, data structures, etc., thatperform particular tasks or implement particular abstract data types.The functionality of the program modules may be combined or distributedas desired in various embodiments.

It is understood that a “set” can include one or more elements. It isalso understood that a “subset” of the set may be a set of which all theelements are contained in the set. In other words, the subset caninclude fewer elements than the set or all the elements of the set(i.e., the subset can be the same as the set).

While the invention has been described with respect to a limited numberof embodiments, those skilled in the art, having benefit of thisdisclosure, will appreciate that other embodiments may be devised thatdo not depart from the scope of the invention as disclosed herein.

What is claimed is:
 1. A system for location-based social networking,comprising: a computer processor; a social mapping system executing onthe computer processor and configured to: receive, from a client device,a request for one or more social media posts, wherein the requestincludes screen attribute information about a display of the clientdevice specifying a geographic map region displayed on the clientdevice, geographic location information, and an identification of arequesting account of the social network; identify a set of social mediaposts based on the screen attribute information and the geographiclocation information; calculate a first customized score for each of thesocial media posts by applying a first set of preference factorscorresponding to the requesting account to a general score of eachsocial media post; calculate a second customized score for each of thesocial media posts by applying a second set of preference factorscorresponding to the requesting account to the general score of eachsocial media post; generate a combined ranking for each of the socialmedia posts based on the first customized score and the secondcustomized score; select, based on the combined ranking, a subset of theset of social media posts for inclusion in a suggested group; andprovide the suggested group to the client device in response to therequest.
 2. The system of claim 1, wherein the geographic locationinformation specifies a location of the client device.
 3. The system ofclaim 1, wherein generating the combined ranking for each of the socialmedia posts further comprises: ranking each social media post based on adistance between a geographic location corresponding with the socialmedia post and the geographic location information.
 4. The system ofclaim 1, wherein the first set of preference factors and the second setof preference factors are selected based on past behavior of therequesting account.
 5. The system of claim 1, wherein calculating thefirst customized score for at least one social media post of the set ofsocial media posts is equal to the general score due to no applicablepreference factor existing for the at least one social media post. 6.The system of claim 1, wherein the screen attribute informationspecifies a zoom level of the display of the client device.
 7. Thesystem of claim 1, wherein the general score of each social media postis based on at least one selected from a group consisting of userupvotes, user downvotes, total number of user votes, recency of uservotes, user reviews, user-submitted emotional states, a number of userlocation check-ins, and geographic proximity to other popular venues. 8.The system of claim 1, wherein: the request further includes a categoryindication, and identifying the set of social media posts is furtherbased on the category indication.
 9. The system of claim 8, wherein thecategory indication comprises at least one selected from a groupconsisting of a size of a venue, a type of music played, a type of foodserved, connections of a profile included in the social network, typesof connections of a profile included in the social network, a time ofone or more social media posts, activities associated with one or moresocial media posts, an amount of one or more social media posts within aparticular amount of time.
 10. The system of claim 1, wherein the set ofsocial media posts are selected based on a temporal recency threshold,and wherein the temporal recency threshold is at least one selected froma group consisting of social media posts posted within the most recent15 minutes, 30 minutes, 45 minutes, 1 hour, 2 hours, 3 hours, 12 hours,and 24 hours.
 11. A method for location-based social networking,comprising: receiving, from a client device, a request for one or moresocial media posts, wherein the request includes screen attributeinformation about a display of the client device specifying a geographicmap region displayed on the client device, geographic locationinformation, and an identification of a requesting account of the socialnetwork; identifying a set of social media posts based on the screenattribute information and the geographic location information;calculating a first customized score for each of the social media postsby applying a first set of preference factors corresponding to therequesting account to a general score of each social media post;calculating a second customized score for each of the social media postsby applying a second set of preference factors corresponding to therequesting account to the general score of each social media post;generating a combined ranking for each of the social media posts basedon the first customized score and the second customized score;selecting, based on the combined ranking, a subset of the set of socialmedia posts for inclusion in a suggested group; and providing thesuggested group to the client device in response to the request.
 12. Themethod of claim 11, wherein at least one of the set of social mediaposts is removed from the suggested group based at least in part on aclosing time of a business corresponding to the social media posts. 13.The method of claim 11, wherein generating the combined ranking for eachof the social media posts further comprises: ranking each social mediapost based on a distance between a geographic location correspondingwith the social media post and the geographic location information. 14.The method of claim 11, wherein the first set of preference factors andthe second set of preference factors are selected based on past behaviorof the requesting account.
 15. The method of claim 11, whereincalculating the first customized score for at least one social mediapost of the set of social media posts is equal to the general score dueto no applicable preference factor existing for the at least one socialmedia post.
 16. The method of claim 11, wherein the general score ofeach of the set of social media posts is based on a posting account thatauthored the social media post, and wherein the general score of thesocial media post is reduced based on movement of a client device usedto author the social media post.
 17. The method of claim 11, wherein thegeneral score of each of the set of social media posts is based on atleast one selected from a group consisting of user upvotes, userdownvotes, total number of user votes, recency of user votes, userreviews, user-submitted emotional states, a number of user locationcheck-ins, and geographic proximity to other popular venues.
 18. Themethod of claim 11, wherein: the request further includes a categoryindication, and identifying the set of temporally recent social mediaposts is further based on the category indication.
 19. The method ofclaim 11, wherein the set of social media posts are selected based on atemporal recency threshold, and wherein the temporal recency thresholdis at least one selected from a group consisting of social media postsposted within the most recent 15 minutes, 30 minutes, 45 minutes, 1hour, 2 hours, 3 hours, 12 hours, and 24 hours.
 20. A non-transitorycomputer-readable storage medium comprising a plurality of instructionsfor location-based social networking, the plurality of instructionsconfigured to execute on at least one computer processor to enable theat least one computer processor to: receive, from a client device, arequest for one or more social media posts, wherein the request includesscreen attribute information about a display of the client devicespecifying a geographic map region displayed on the client device,geographic location information, and an identification of a requestingaccount of the social network; identify a set of social media postsbased on the screen attribute information and the geographic locationinformation; calculate a first customized score for each of the socialmedia posts by applying a first set of preference factors correspondingto the requesting account to a general score of each social media post;calculate a second customized score for each of the social media postsby applying a second set of preference factors corresponding to therequesting account to the general score of each social media post;generate a combined ranking for each of the social media posts based onthe first customized score and the second customized score; select,based on the combined ranking, a subset of the set of social media postsfor inclusion in a suggested group; and provide the suggested group tothe client device in response to the request.